package heven.holt.library.initializer.provider

import heven.holt.library.BuildConfig
import heven.holt.library.startup.model.LoggerLevel
import heven.holt.library.startup.model.StartupConfig
import heven.holt.library.startup.provider.StartupProviderConfig

class SampleStartupProviderConfig : StartupProviderConfig {
    override fun getConfig(): StartupConfig =
        StartupConfig.Builder()
            //控制Android Startup中的日志输出
            .setLoggerLevel(if (BuildConfig.DEBUG) LoggerLevel.DEBUG else LoggerLevel.NONE)
            //控制Android Startup中主线程的超时等待时间
            .setAwaitTimeout(12000)
            //控制Android Startup是否开启对各个任务的耗时统计
            .setOpenStatistics(BuildConfig.DEBUG)
            //Android Startup监听器，所有组件初始化完成之后该监听器会被调用。
//            .setListener(object : StartupListener {
//                override fun onCompleted(
//                    totalMainThreadCostTime: Long,
//                    costTimesModels: List<CostTimesModel>
//                ) {
//                    Timber.d("startup listener totalMainThreadCostTime=$totalMainThreadCostTime,costTimesModels=$costTimesModels")
//                }
//            })
            .build()
}